package com.blrs.service.poliy;

import java.util.List;

import com.blrs.domain.PolicyRelease;
import com.blrs.domain.vo.EnterpriseVO;
import com.blrs.domain.vo.FeedBackVo;

/**
 * 政策发布Service接口
 * 
 * @author ruoyi
 * @date 2024-01-09
 */
public interface IPolicyReleaseService 
{
    /**
     * 查询政策发布
     * 
     * @param permissionId 政策发布主键
     * @return 政策发布
     */
    public PolicyRelease selectPolicyReleaseByPermissionId(String permissionId);

    /**
     * 查询政策发布列表
     * 
     * @param policyRelease 政策发布
     * @return 政策发布集合
     */
    public List<PolicyRelease> selectPolicyReleaseList(PolicyRelease policyRelease);

    /**
     * 新增政策发布
     * 
     * @param policyRelease 政策发布
     * @return 结果
     */
    public int insertPolicyRelease(PolicyRelease policyRelease) throws NoSuchFieldException, IllegalAccessException;

    /**
     * 修改政策发布
     * 
     * @param policyRelease 政策发布
     * @return 结果
     */
    public int updatePolicyRelease(PolicyRelease policyRelease);

    /**
     * 批量删除政策发布
     * 
     * @param permissionIds 需要删除的政策发布主键集合
     * @return 结果
     */
    public int deletePolicyReleaseByPermissionIds(String[] permissionIds);

    /**
     * 删除政策发布信息
     * 
     * @param permissionId 政策发布主键
     * @return 结果
     */
    public int deletePolicyReleaseByPermissionId(String permissionId);

    List<PolicyRelease> selectPolicyReleaseListByExamine(PolicyRelease policyRelease);

    int examinePolicy(PolicyRelease policyRelease);

    List<PolicyRelease> selectPolicyReleaseListByReceive(PolicyRelease policyRelease);

    int terminationPolicy(PolicyRelease policyRelease);

    int read(String id, Long receiveId);

    int feedback(FeedBackVo feedBackVo);

    List<EnterpriseVO> selectEnterprise(String id);
}
